package org.plex.searchfilter;

import java.util.List;

import org.plex.search.SortOrder;

public interface TaskFilter
{
	void setTaskId(long taskId);

	void setOffset(int offset);

	void setMaxRows(int maxRows);

	void setSortOrder(SortOrder sortOrder);

	SortOrder newSortOrder();

	void setQueueId(long queueId);

	void setStatusFiltering(StatusFilter statusFilter);

	StatusFilter newStatusFileFilter();

	DateFilter newDateFilter(String dateString);

	void setDateFilter(DateFilter dateFilter);

	List<Long> getQueueIdList();

	void setQueueIdList(List<Long> queueIdlist);

	List<String> getUserIdList();

	void setUserIdList(List<String> userIdList);

	List<Long> getGroupQueueIdList();

	void setGroupQueueIdList(List<Long> groupQueueIdList);

	void setUserId(String userID);

	void setGroupQueueId(long groupQueueId);

	void claimableTasks(boolean isClaimable);

	void showHiddenTask(boolean showHiddenTask);

	SortOrder getSortOrder();

	boolean isClaimable();

	void setClaimable(boolean isClaimable);

	List<SortOrder> getSortList();

	void setSortList(List<SortOrder> sortOrder);

}
